using System.Threading;

namespace MefBasic.Threading
{
    public interface IJob
    {
        JobStore Store { get; set; }
        int MaxProgress { get; }
        int CurrentProgress { get; }
        AutoResetEvent WaitEvent { get; }
        JobStatus Status { get; set; }
        void Abort();
        void Start();
        void Next();
        IJob Parent { get; }
        void Wait();
    }
}